// src/api/costAnalysis.js
import request from "@/utils/request";

/**
 * 获取成本类别下拉列表
 * @returns {Promise} 请求结果
 */
export function getCostCategoryList() {
	return request({
		url: "/operation/web/operationCostAnalysis/costCategoryList",
		method: "get",
	});
}

/**
 * 获取成本统计
 * @param {Object} params 查询参数
 * @param {string} [params.startTime] 开始时间
 * @param {string} [params.endTime] 结束时间
 * @param {string} [params.costType] 成本类型
 * @returns {Promise} 请求结果
 */
export function getCostStatistics(params) {
	return request({
		url: "/operation/web/operationCostAnalysis/costStatistics",
		method: "get",
		params,
	});
}

/**
 * 获取成本构成分析时间段选项
 * @returns {Promise} 请求结果
 */
export function getCostPeriodOptions() {
	return request({
		url: "/operation/web/operationCostAnalysis/costPeriod",
		method: "get",
	});
}

/**
 * 获取成本构成分析数据
 * @param {Object} params 查询参数
 * @param {number} params.type 时间段类型 1-本月，2-本季，3-本年
 * @returns {Promise} 请求结果
 */
export function getCostComposition(params) {
	return request({
		url: "/operation/web/operationCostAnalysis/costComposition",
		method: "get",
		params,
	});
}

/**
 * 获取成本趋势分析数据
 * @param {Object} params 查询参数
 * @param {number} params.type 时间段类型 1-月度 2-季度 3-年度
 * @returns {Promise} 请求结果
 */
export function getCostTrend(params) {
	return request({
		url: "/operation/web/operationCostAnalysis/costTrend",
		method: "get",
		params,
	});
}

/**
 * 获取成本对比分析数据（近两年对比）
 * @returns {Promise} 请求结果
 */
export function getCostComparison(params) {
	return request({
		url: "/operation/web/operationCostAnalysis/costComparison",
		method: "get",
		params,
	});
}

/**
 * 获取成本异常分析数据
 * @returns {Promise} 请求结果
 */
export function getCostAbnormal(params) {
	return request({
		url: "/operation/web/operationCostAnalysis/costAbnormal",
		method: "get",
		params,
	});
}

/**
 * 获取成本明细数据
 * @param {Object} params 查询参数
 * @param {string} [params.startTime] 开始时间
 * @param {string} [params.endTime] 结束时间
 * @param {string} [params.costType] 成本类型
 * @returns {Promise} 请求结果
 */
export function getCostDetails(params) {
	return request({
		url: "/operation/web/operationCostAnalysis/costDetails",
		method: "get",
		params,
	});
}
